<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
  Created by IntelliJ IDEA.
  User: qupen
  Date: 2016/10/12
  Time: 9:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:include page="../../include/head.jsp">
    <jsp:param name="title" value="用户管理"/>
</jsp:include>

<jsp:include page="../../include/tenant_header.jsp"/>

<jsp:include page="../../include/tenant_sidebar.jsp"/>
<div class="content-wrapper content-wrapper-bg">
    <section class="content-header">
        <h4 class="page-title" style="display: inline-block"><spring:message code="label.tenant.user.management"/></h4>
        <a class="btn btn-add" href="javascript:getCreateUserPage();" style="margin-left:84px;">
            <i class="fa fa-plus" style="margin-right: 3px"></i><spring:message code="label.tenant.user.add"/>
        </a>

        <div class="form-group has-success has-feedback" style="float: right;margin-right: 40px;">
            <input type="text" placeholder="<spring:message code="label.admin.search"/>" class="form-control" id="inputSuccess2"
                   style="border-radius:5px;border-color:#aabfcb">
            <span class="glyphicon glyphicon-search form-control-feedback"></span>
        </div>
    </section>
    <section class="content">
        <div class="box box-primary table-header-line">
            <div class="box-body" style="padding: 0">
                <table class="table" id="user_list">
                    <thead>
                    <tr>
                        <th><spring:message code="label.tenant.children.name"/></th>
                        <th><spring:message code="label.user.phone"/></th>
                        <th><spring:message code="label.user.department"/></th>
                        <th><spring:message code="label.tenant.children.state"/></th>
                        <th><spring:message code="label.operation"/></th>
                    </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
            </div>
        </div>
        <%--</div>--%>
    </section>
</div>
<jsp:include page="../../include/foot.jsp"/>

<script>
    $(function () {
        var key = getKeyByUrl();
        var table = $('#user_list').DataTable({
            "dom": '<"datatable-header"<"dataTables_filter">l><"datatable-scroll"t><"datatable-footer dataTable-footer-padding"<"pull-left"i><"pull-right"p>>',
            paging: true,
            lengthChange: false,
            ordering: true,
            autoWidth: false,
            info: true,
            serverSide: true,
            fixedHeader: true,
            searching: true,
            aLengthMenu: [15],
            ajax: {
//                url: '/partner/{tenant}/api/v1/user/list'.replace("{tenant}", getKeyByUrl()),
                url: '/partner/{tenant}/api/v1/user/listByDataTable'.replace("{tenant}", getKeyByUrl()),
                dataSrc: 'data'
            },
            columns: [
                {
                    data: 'user_name'
                },
                {
                    data: 'telephone'
                },
                {
                    data: 'department'
                },
                {
                    data: 'enabled',
                    "render": function (data, type, full, meta) {
                        if (data == 0) {
                            return "<spring:message code="label.tenant.service.not.available"/>";
                        } else if (data == 1) {
                            return "<spring:message code="label.tenant.service.available"/>"
                        } else if (data == 2) {
                            return "<spring:message code="label.tenant.service.disable"/>"
                        } else {
                            return "<spring:message code="label.tenant.data.abnormal"/>";
                        }
                    }
                },
                {
                    data: 'user_id',
                    "render": function (data, type, full, meta) {

                        var divString = '<div class="sie-btn-group">' +
                                '<a href="javascript:;" onclick="userInfo(\'' + '/partner/{tenant}/user/info?userId=' + data + '#userManageer\')" style="margin-left: 0;"><i class="sie-btn-info"></i><span><spring:message code="label.details"/></span></a>' +
                                '<a href="javascript:;" onclick="disabled(\'' + data + '\')"><i class="sie-btn-stop"></i><span><spring:message code="label.admin.user.list.user.disabled"/></span></a>' +
                                '<a href="javascript:;" onclick="enabled(\'' + data + '\')"><i class="sie-btn-start"></i><span><spring:message code="label.admin.user.list.user.enabled"/></span></a>' +
                                '<a href="javascript:;" onclick="resetPassword(\'' + data + '\')"><i class="sie-btn-reset"></i><span><spring:message code="label.admin.user.list.user.reset.password"/></span></a></div>';
                        return divString;
                    }
                }
            ],
            "language": {url: '/lang/datatable.chs.json'}
        });
        $('#inputSuccess2').bind('keyup', function (e) {
            table.search(this.value).draw();
        });
    });

    function userInfo(value) {
        window.location.replace(value.replace("{tenant}", getKeyByUrl()));
    }

    function disabled(value) {
        swal({
            title: "<spring:message code="label.tenant.disable.account"/>",
            text: "<spring:message code="label.tenant.sure.disable.account"/>",
            type: "warning",
            showCancelButton: "true",
            showConfirmButton: "true",
            confirmButtonText: "<spring:message code="label.admin.confirm"/>",
            cancelButtonText: "<spring:message code="label.user.cancel"/>",
            animation: "slide-from-top"
        }, function () {
            var url = "/partner/{tenant}/api/v1/user/disabled";
            $.ajax({
                type: "post",
                url: url.replace("{tenant}", getKeyByUrl()),
                data: {"userId": value},
                success: function (data) {
                    if (data.data.length == 8) {
                        alert(data.data);
                    }
                    var table = $('#user_list').DataTable();
                    table.ajax.reload();
                },
                fail: function () {
                    swal("Error!", "", "error");
                }
            });
        })
    }

    function enabled(value) {
        swal({
            title: "<spring:message code="label.tenant.enable.account"/>",
            text: "<spring:message code="label.tenant.sure.enable.account"/>",
            type: "warning",
            showCancelButton: "true",
            showConfirmButton: "true",
            confirmButtonText: "<spring:message code="label.admin.confirm"/>",
            cancelButtonText: "<spring:message code="label.user.cancel"/>",
            animation: "slide-from-top"
        }, function () {
            var url = "/partner/{tenant}/api/v1/user/recovery";
            $.ajax({
                type: "post",
                url: url.replace("{tenant}", getKeyByUrl()),
                data: {"userId": value},
                success: function () {
                    var table = $('#user_list').DataTable();
                    table.ajax.reload();
                },
                fail: function () {
                    swal("Error!", "", "error");
                }
            });
        })
    }

    function resetPassword(value) {
        swal({
            title: "<spring:message code="label.admin.user.list.user.reset.password"/>",
            text: "<spring:message code="label.tenant.sure.reset.password"/>",
            type: "warning",
            showCancelButton: "true",
            showConfirmButton: "true",
            confirmButtonText: "<spring:message code="label.admin.confirm"/>",
            cancelButtonText: "<spring:message code="label.user.cancel"/>",
            animation: "slide-from-top"
        }, function () {
            var url = "/partner/{tenant}/api/vi/user/updatePwd";
            $.ajax({
                type: "post",
                url: url.replace("{tenant}", getKeyByUrl()),
                data: {"userId": value},
                success: function (data) {
                    if(data.result == "SUCCESS"){
                        swal("SUCCESS",data.data,"success");
//                        swal("SUCCESS","密码重置成功","success");
                    }else{
                        swal("Error","<spring:message code="label.tenant.reset.password.fail"/>","error");
                    }
                    var table = $('#user_list').DataTable();
                    table.ajax.reload();
                },
                fail: function () {
                    swal("Error!", "", "error");
                }
            });
        })
    }

    function getCreateUserPage() {
        var url = "/partner/{tenant}/user/addUser#userManageer";
        window.location.href = url.replace("{tenant}", getKeyByUrl());
    }
</script>
